#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os

# 检验权限模式
# os.access(path, mode);
#
# path -- 要用来检测是否有访问权限的路径。
#
# mode -- mode为F_OK，测试存在的路径，或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。
#
# os.F_OK:  包含在access()的mode参数中 ，测试path是否存在。
# os.R_OK:  包含在access()的mode参数中 ，测试path是否可读。
# os.W_OK   包含在access()的mode参数中 ，测试path是否可写。
# os.X_OK   包含在access()的mode参数中 ，测试path是否可执行。
fd = os.open("t.txt", os.O_RDWR | os.O_CREAT)

path = "./t.txt"
res = os.access(path, os.F_OK)
print(f"验证 {path} 是否存在：{res}")

current_dir = os.getcwd()
print(f"当前目录是：{current_dir}")


os.chdir("ostest")
current_dir = os.getcwd()
print(f"改变当前目录为：{current_dir}")

ret = os.listdir(os.getcwd())
print(f"{ret}")

# current_dir = os.getcwdb()
# print(u"当前工作目录，Unicode对象 : %s" % current_dir)

# os.pardir() 获取当前目录的父目录（上一级目录），以字符串形式显示目录名
# Windows 和 POSIX 返回 ..
current_parent_dir = os.pardir
print(f"返回当前目录的父目录，windows下返回.. ，当前是：{current_parent_dir}")


# 如果文件描述符fd是打开的，同时与tty(-like)设备相连，则返回true, 否则False。
ret = os.isatty(fd)
print(f"如果文件描述符fd是打开的，同时与tty(-like)设备相连，则返回true, 否则False。 -> ", ret)

# 复制文件描述符 fd
ret = os.dup(fd)
print(f"复制文件描述符：{ret}")

# os.fchdir(fd)
# print(f"通过文件描述改变当前目录：{os.getcwd()}")


os.close(fd)
